// 快递信息路由定义文件
// 该文件定义了快递信息相关的API路由

const express = require('express');
const router = express.Router();

// 引入快递信息路由处理函数
const { 
  getExpressInfoList, 
  getExpressInfoById, 
  addExpressInfo, 
  updateExpressInfo, 
  deleteExpressInfo,
  getOrdersByExpressId
} = require('../router_handler/expressInfo');

// 引入中间件
const { validateExpressInfo } = require('../middleware/validation');

/**
 * 获取快递信息列表
 * GET /api/express-info
 */
router.get('/', getExpressInfoList);

/**
 * 根据ID获取快递信息
 * GET /api/express-info/:id
 */
router.get('/:id', getExpressInfoById);

/**
 * 添加新的快递信息
 * POST /api/express-info
 */
router.post('/', validateExpressInfo, addExpressInfo);

/**
 * 更新快递信息
 * PUT /api/express-info/:id
 */
router.put('/:id', validateExpressInfo, updateExpressInfo);

/**
 * 删除快递信息
 * DELETE /api/express-info/:id
 */
router.delete('/:id', deleteExpressInfo);

/**
 * 获取关联到指定快递信息的订单列表
 * GET /api/express-info/:id/orders
 */
router.get('/:id/orders', getOrdersByExpressId);

// 导出路由实例
module.exports = router;